package com.lyf.scm.plan.api.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 需求计划返回页面DTO
 *
 * @author wangchlei
 * @date 2020/10/26
 */
@Data
@ApiModel("需求计划页面数据DTO")
public class RequirementPlanInfoDTO {
    @ApiModelProperty("渠道code")
    private String channelCode;
    /**
     * 渠道显示列
     */
    @ApiModelProperty("渠道name")
    private String channel;

    @ApiModelProperty("省份code")
    private String provinceCode;

    @ApiModelProperty("城市code")
    private String cityCode;

    @ApiModelProperty("区/县code")
    private String countyCode;

    @ApiModelProperty("门店code")
    private String storeCode;
    /**
     * 区域显示列
     */
    @ApiModelProperty("区域name")
    private String area;

    @ApiModelProperty("仓库code")
    private String warehouseCode;
    /**
     * 仓库显示列
     */
    @ApiModelProperty("仓库name")
    private String warehouseName;

    @ApiModelProperty("大品类code")
    private String priCategoryCode;

    @ApiModelProperty("中品类code")
    private String secCategoryCode;

    @ApiModelProperty("小品类code")
    private String terCategoryCode;
    /**
     * 品类显示列
     */
    @ApiModelProperty("品类")
    private String category;

    @ApiModelProperty("商品sku")
    private String skuCode;
    /**
     * sku显示列
     */
    @ApiModelProperty("商品name")
    private String skuName;
    /**
     * 以下为聚合值
     */
    @ApiModelProperty("销售计划量指标名称")
    private String salesPlanQtyLabel;

    @ApiModelProperty("销售计划量")
    private List<BigDecimal> salesPlanQty;

    @ApiModelProperty("预测计划量指标名称")
    private String forecastPlanQtyLabel;
    /**
     * 以下为聚合值
     */
    @ApiModelProperty("预测计划量")
    private List<BigDecimal> forecastPlanQty;

    @ApiModelProperty("本次供应链确认量指标名称")
    private String supChainConfirmQtyLabel;

    @ApiModelProperty("本次供应链确认量")
    private List<BigDecimal> supChainConfirmQty;

    @ApiModelProperty("本次供应链确认量是否可编辑")
    private List<Integer> status;

    @ApiModelProperty("上次供应链确认量指标名称")
    private String lastConfirmQtyLabel;

    @ApiModelProperty("上次供应链确认量")
    private List<BigDecimal> lastConfirmQty;

    @ApiModelProperty("安全库存指标名称")
    private String stockSafetyLabel;

    @ApiModelProperty("安全库存")
    private List<BigDecimal> stockSafety;

    @ApiModelProperty("预约在途采购量指标名称")
    private String reservePurchaseQtyLabel;

    @ApiModelProperty("预约在途采购量")
    private List<BigDecimal> reservePurchaseQty;

    @ApiModelProperty("未履约采购量指标名称")
    private String noFulfilPurchaseQtyLabel;

    @ApiModelProperty("未履约采购量")
    private List<BigDecimal> noFulfilPurchaseQty;

    @ApiModelProperty("销售计划金额指标名称")
    private String salesPlanAmountLabel;
    @ApiModelProperty("销售计划金额")
    private List<BigDecimal> salesPlanAmount;
    @ApiModelProperty("预测计划金额指标名称")
    private String forecastPlanAmountLabel;
    @ApiModelProperty("预测计划金额")
    private List<BigDecimal> forecastPlanAmount;
    @ApiModelProperty("本次销售计划确认量指标名称")
    private String salePlanConfirmationQtyLabel;
    @ApiModelProperty("本次销售计划确认量")
    private List<BigDecimal> salePlanConfirmationQty;
    @ApiModelProperty("上次销售计划确认量指标名称")
    private String lastSalePlanConfirmQtyLabel;
    @ApiModelProperty("上次销售计划确认量")
    private List<BigDecimal> lastSalePlanConfirmQty;
    @ApiModelProperty("实际销量指标名称")
    private String actualSalesQtyLabel;
    @ApiModelProperty("实际销量")
    private List<BigDecimal> actualSalesQty;
    @ApiModelProperty("实时库存指标名称")
    private String realTimeInventoryLabel;
    @ApiModelProperty("实时库存")
    private List<BigDecimal> realTimeInventory;
}
